Neural networks, especially deep neural networks have been very successful in modeling high-level abstractions in data. Neural networks are computational models used in machine learning made up of nodes organized in layers. The nodes are also referred to as artificial neurons, or just neurons, and perform a function on provided input to produce some output value. A neural network requires a training period to learn the parameters, i.e., weights, used to map the input to a desired output. Each neural network is trained for a specific task, e.g., prediction, classification, encoding/decoding, etc. The task performed by the neural network is determined by the inputs provided, the mapping function, and the desired output. Training can be either supervised or unsupervised. In supervised training, training examples are provided to the neural network. A training example includes the inputs and a desired output. Training examples are also referred to as labeled data because the input is labeled with the desired output. The network learns the values for the weights used in the mapping function that most often result in the desired output when given the inputs. In unsupervised training, the network learns to identify a structure or pattern in the provided input. In other words, the network identifies implicit relationships in the data. Unsupervised training is used in deep neural networks as well as other neural networks and typically requires a large set of unlabeled data and a longer training period. Once the training period completes, the neural network can be used to perform the task for which it was trained.
In a neural network, the neurons are organized into layers. A neuron in an input layer receives the input from an external source. A neuron in a hidden layer receives input from one or more neurons in a previous layer and provides output to one or more neurons in a subsequent layer. A neuron in an output layer provides the output value. What the output value represents depends on what task the network is trained to perform. Some neural networks predict a value given in the input. Some neural networks provide a classification given the input. When the nodes of a neural network provide their output to every node in the next layer, the neural network is said to be fully connected. When the neurons of a neural network provide their output to only some of the neurons in the next layer, the network is said to be convolutional. In general, the number of hidden layers in a neural network varies between one and the number of inputs.
Mobile devices have become ubiquitous in recent years, causing an explosion in the number of applications that are available for these devices. Mobile applications differ from web-based and personal computing device based applications in a few aspects. For example, mobile applications have much more limited screen space, which in turn limits the size and number of user-interface elements that can be shown to a user at one time. As another example, mobile applications typically are more data-conscious because obtaining data over a mobile phone network can be slow. This factor may also limit the number and type of user interface elements in a mobile application. User interface elements include text, controls (e.g., buttons, checkboxes, radio buttons, drop-down lists, hyperlinks, etc.), images, and the like. Mobile application user interfaces are one example of a content item. Other examples of content items include a document, an email, a pamphlet, a web page, a poster, etc.
Designing content items typically involves making many choices, such as font color and size, image placement, heading size and placement, size, color, and placement of controls or other action items, etc. Design can be especially important in a mobile application user interface due to the limitations discussed above. Current software applications provide a content creator with the ability to make these design choices in the layout the content. While such applications show the content creator how the information will appear in the finished content item, they do not provide any guidance on the effectiveness of the content, e.g., in drawing attention to a particular element or elements of the content.